package com.wx.servlet;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.wx.service.BillService;
import com.wx.service.TransactionService;
import com.wx.service.impl.BillServiceImpl;
import com.wx.service.impl.TransactionServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

@WebServlet("/handlePaymentServlet")
public class HandlePaymentServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("UTF-8");
        resp.setContentType("text/html; charset=UTF-8");

        String billId = req.getParameter("billId");
        String patientId = req.getParameter("patientId");
        Double money = Double.valueOf(req.getParameter("money"));

        ObjectMapper mapper=new ObjectMapper();
        Map<String,Object> map=new HashMap<>();

        TransactionService service=new TransactionServiceImpl();
        boolean isTrue = service.handlePayment(billId,patientId,money);

        map.put("isTrue",isTrue);
        if (isTrue){
            map.put("msg","支付成功！");
        }else {
            map.put("msg","支付失败");
        }
        mapper.writeValue(resp.getWriter(),map);
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doPost(req,resp);
    }
}
